package com.qsw.paper.mapper;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qsw.paper.pojo.dto.StudentsQueryDto;
import com.qsw.paper.pojo.entity.Students;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.qsw.paper.pojo.vo.StudentCountByYearVO;
import com.qsw.paper.pojo.vo.StudentPageVO;
import com.qsw.paper.pojo.vo.StudentsVO;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * <p>
 * Mapper 接口
 * </p>
 *
 * @author qsw
 * @since 2024-11-15
 */
@Mapper
public interface StudentsMapper extends BaseMapper<Students> {


    /**
     * 分页获取学生数据
     *
     * @param page     分页对象
     * @param queryDto dto
     * @return 分页数据
     */
    Page<StudentPageVO> selectPageList(Page<?> page, StudentsQueryDto queryDto);

    StudentsVO findByStudentId(Integer id);

    /**
     * 按年份展示每个学年学校的所有学生人数（近五年）
     *
     * @return 数据列表
     */
    List<StudentCountByYearVO> getStudentCountByYear();
}
